package com.jic.market.entity.base;

import com.jic.common.base.vo.AdminOperate;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: gaolanyu
 * @date: 2020-03-10
 * @remark:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BaseActivity implements Serializable {
    private Long id;
    // 活动Id
    private String promotionId;
    // 活动类型 类型:1单一促销,2满量促销,3满额促销,4秒杀,5赠送类促销,6组合促销7.单品X件优惠,8换购,9预售,11优惠券
    private String promType;
    // 促销类型,比如单一促销1 单一促销下的促销类型为1001 特价促销 1002折扣促销,优惠券抽奖没有促销类型则补00promType1100
    private String frontPromType;
    // 活动名称
    private String promName;
    // 活动开始时间
    private Date startTime;
    // 活动结束时间
    private Date endTime;
    // 活动标签
    private String label;
    // 店铺地区code码
    private String storeArea;
    // 用户地区code码
    private String userArea;
    // 是否包邮 抽奖 优惠券 红包 填-1 0否 1是
    private Integer parcelsFlag;
    // 是否成本分摊 0否 1是
    private String costAllocationFlag;
    // 母平台比例
    private Integer parentAllocationScale;
    // 子平台比例
    private Integer childAllocationScale;
    // 商家比例
    private Integer merchantAllocationScale;
    // 店铺比例
    private Integer storeAllocationScale;
    // 使用渠道码
    private String channelCodes;
    // 用户类型 0全部 1新用户 2老用户
    private String proUserType;
    // 会员类型
    private String proMemberType;
    // 会员等级
    private String proMemberLevel;
    // 备注
    private String remark;
    // 中文描述
    private String chineseDesc;
    // 英文描述
    private String englishDesc;
    //平台id
    private Long deptId;
    //商家id
    private Integer merchantId;
    //店铺id
    private Integer storeId;
    //会员类型
    private String memTypes;
    //是否删除 0否，1是
    private int deleteFlag;
    //创建时间
    private Date createTime;
    //更新时间
    private Date updateTime;
    //创建人
    private Long creator;
    //修改人
    private Long updater;

    private String creatorName;

    private String updaterName;
    // 活动状态 1 待提交  2 待审核  3未开始 4 审核不通过  5 进行中  6 已过期  7 已关闭
    private String status;
    // 审核描述
    private String checkRemark;

    private Integer deptType;
    private AdminOperate adminOperate;

    private Date couponUseStartTime;
    private Date couponUseEndTime;

    private BigDecimal couponAmountStart;
    private BigDecimal couponAmountEnd;

    /**
     * 是否特殊字段 如果是 查询时为抽奖和赠送
     */
    private Boolean specialField = false;

    private int start = 1;
    private int limit = 10;

    private String channelId;
    /*
     * 超限规则，1按原价购买，2不可购买
     */
    private Integer overLimitRule;

    @ApiModelProperty(notes = "活动搜索词")
    private String activitySearch;

    @ApiModelProperty(notes = "活动费用预算")
    private String activityBudget;

    @ApiModelProperty(notes = "预警比例")
    private String warningProportion;
}
